The present invention relates to computer software utility programs, and more specifically to performance of actions on objects in software systems having a graphical interface.
Performance of actions on objects can require acting directly on one or more characteristics of an object. Individual devices available to a user for acting on object characteristics have limited capabilities, for example, moving the mouse can only act simultaneously on two independent characteristics, an X and Y axis.
To modify a greater number of characteristics a user will have to subdivide the global modification into a succession of elementary manipulations involving a number of characteristics, each characteristic compatible with the capabilities of an available device. To achieve a desired overall manipulation, a user may need to interact with several devices (keyboard, mouse buttons, joysticks, touchpads, etc.) and/or with other elements of a user interface (command buttons, menu items, dialog boxes items, handles, etc.) to move from one elementary manipulation to the next.
In some existing software applications, a number of displacement actions can be controlled by different buttons on a toolbar. Activating one button will cause the corresponding type of displacement to be applied to the objects in the scene. The drawback of this is that the user has to constantly move to and from a toolbar and the selected object.
Other existing software applications provide for handles to appear around an object to be displaced. Performance of actions on an object has been achieved directly on the scene through manipulation of the handles surrounding an object. The handles generally reflect the size and shape of the object. However, in complex arrangements, the number of handles on a scene and their surrounding presence around the objects can become a nuisance to a user trying to discern the overall object structure. The user can be hampered in the performance of other parallel actions. Moreover, the handles are generally oriented according to a reference system which is defined by the object selection and cannot be directly modified in context by the user. Another drawback of such applications is that displaying handles may require significant processing time if the number of selected objects is high.
It would be useful to have a single, compact representation of a programmable tool which allows the user to perform several actions on selected objects in a scene.